package br.com.mensageiro.negocio.servico.impl;

import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import br.com.mensageiro.negocio.dao.MensagemDestinatarioDAO;
import br.com.mensageiro.negocio.dao.UsuarioDAO;
import br.com.mensageiro.negocio.entidade.Entidade;
import br.com.mensageiro.negocio.entidade.MensagemDestinatario;
import br.com.mensageiro.negocio.entidade.Usuario;
import br.com.mensageiro.negocio.servico.IMensagemDestinatarioService;

@Service("mensagemDestinatarioService")
public class MensagemDestinatarioService implements IMensagemDestinatarioService {
	@PostConstruct
	public void init() {
		System.out.println("Service iniciado " + this.getClass().getName());
	}

	@Autowired
	private MensagemDestinatarioDAO mensagemDestinatarioDAO;
	@Autowired
	private UsuarioDAO usuarioDAO;

	@Override
	public void inserir(MensagemDestinatario t) throws Exception {
		// TODO Auto-generated method stub

	}

	@Override
	public void excluir(MensagemDestinatario t) throws Exception {
		// TODO Auto-generated method stub

	}

	@Override
	public void alterar(MensagemDestinatario t) throws Exception {
		// TODO Auto-generated method stub

	}

	@Override
	public List<MensagemDestinatario> getList(int first, int maxResults) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<MensagemDestinatario> getList() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<MensagemDestinatario> getList(MensagemDestinatario t, int first, int maxResults) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<MensagemDestinatario> getList(MensagemDestinatario t) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public MensagemDestinatario get(Entidade t) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public int getQuantidade() {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int getQuantidade(MensagemDestinatario t) {
		// TODO Auto-generated method stub
		return 0;
	}

	// @Override
	// public List<MensagemDestinatario> listaMensagensUsuarioRecebidas() throws Exception {
	// Usuario usuario = new Usuario();
	// usuario = usuarioDAO.doGet(new Long(1));
	//
	// return usuario.getMensagemDestinatarios();
	// }

	@Override
	public List<MensagemDestinatario> listaMensagensUsuarioRecebidas(String nomeUsuario, String assunto, Date date) throws Exception {
		Usuario usuario = new Usuario();
		usuario = usuarioDAO.doGet(new Long(1));
		return mensagemDestinatarioDAO.getMensagemDestinatarioParametros(nomeUsuario, assunto, date, usuario);
	}

}
